tmux 기본 개념과 사용법
왜 tmux를 쓰는가?
SSH로 서버에 접속해서 작업하다 보면 연결이 끊기면 실행 중인 프로세스도 같이 죽는다. tmux는 서버에서 세션을 독립적으로 유지해줘서, SSH 연결이 끊겨도 프로세스가 살아있다.
Windows (WSL/터미널) → SSH 접속 → 서버에서 tmux 실행
SSH 재접속 후 tmux attach 하면 끊기기 전 상태 그대로 돌아온다.
설치
sudo apt install tmux
세션 관리
tmux new -s 작업이름 # 새 세션 시작
tmux attach -t 작업이름 # 세션에 다시 붙기
tmux ls # 세션 목록 확인
tmux kill-session -t 이름 # 세션 종료
세션 내에서 나올 때:
Ctrl+B, D # detach (세션은 살아있음)
window 관리 (세션 내 탭)
tmux 세션 하나에 여러 window를 탭처럼 띄울 수 있다.
Ctrl+B, C # 새 window 생성
Ctrl+B, 0 # 0번 window로 이동
Ctrl+B, 1 # 1번 window로 이동
Ctrl+B, W # 전체 window 목록 보기
Ctrl+B, , # 현재 window 이름 변경
실전 예시: 여러 프로세스 관리
llama.cpp, Claude Code 등을 각각 window로 분리해서 관리:
tmux new -s main # main 세션 시작
# window 0: llama.cpp 서버
Ctrl+B, , → "llama" 로 이름 변경
llama-server 실행
# window 1: Claude Code
Ctrl+B, C → 새 window
Ctrl+B, , → "claude" 로 이름 변경
claude 실행
# window 2: 일반 개발
Ctrl+B, C → 새 window
Ctrl+B, , → "dev" 로 이름 변경
재접속 시:
ssh user@server
tmux attach -t main
Ctrl+B, W # window 목록에서 원하는 곳으로 이동